package integer;


/**
       JDK5之后，java退出了一个新的特性，自动拆装箱
       该特性是编译器认可的，当编译器编译源代码时发现有基本类型和引用类型相互赋值操作
       时会补充代码将基本类型与引用类型包装类相互转换。
        */
public class IntegerDemo1 {
    public static void main(String[] args) {
        int imax=Integer.MAX_VALUE;
        int imin=Integer.MIN_VALUE;
        System.out.println(imax);
        System.out.println(imin);
        double dmax=Double.MAX_VALUE;
        double dmin=Double.MIN_VALUE;
        System.out.println(dmax);
        System.out.println(dmin);
        long lmax=Long.MAX_VALUE;
        long lmin=Long.MIN_VALUE;
        System.out.println(lmax);
        System.out.println(lmin);
        int cmax= Character.MAX_VALUE;
        int cmin=Character.MIN_VALUE;
        System.out.println(cmax);
        System.out.println(cmin);

        String aa="123";
        int bb=Integer.parseInt(aa);
        System.out.println(bb);
        double cc=Double.parseDouble(aa);
        System.out.println(cc);

        String dd="121.445";
        double ee=Double.parseDouble(dd);
        System.out.println(ee);

        int w=50;
        /*
        触发了编译器的自动装箱条件，代码会被编译器改为
        Integer ww=Integer.valueOf(w);
         */
        Integer ww=w;
        /*
        触发了自动拆箱特性，代码会被编译器改为：
        w=ww.intValueOf();
         */
        w=ww;
        System.out.println(w);
    }
}
